The General Social Survey is not a panel survey. However, it is both a very long-running with a large and diverse set of participants, and while the survey contains nearly no personally identifying information some basic demographic information is included in the data. Because both “age of respondent” and “year of survey” are provided, some basic manipulation of the data gets it to a place where we can use birth year as a unit of analysis.
For the sake of sample size, I created a
A screenshot of an excel sheet of sample sizes.
import pandas as pd
gss_frame_1 = pd.read_csv('fp_gss_1.csv')
gss_frame_1['year_of_birth'] = gss_frame_1.year - gss_frame_1.age
gss_frame_1['yearborn_binned5'] = (gss_frame_1.year_of_birth // 5) * 5 #rounds year born to nearest 5-year interval
print(pd.crosstab(gss_frame_1.yearborn_binned5, gss_frame_1.year))
## year 1972 1973 1974 1975 1976 ... 2010 2012 2014 2016 2018
## yearborn_binned5 ...
## 1880.0 4 1 0 0 0 ... 0 0 0 0 0
## 1885.0 12 3 12 8 13 ... 0 0 0 0 0
## 1890.0 33 15 23 24 25 ... 0 0 0 0 0
## 1895.0 64 55 38 45 47 ... 0 0 0 0 0
## 1900.0 81 69 73 44 68 ... 0 0 0 0 0
## 1905.0 98 98 106 111 81 ... 0 0 0 0 0
## 1910.0 119 108 83 94 102 ... 0 0 0 0 0
## 1915.0 136 129 113 100 115 ... 0 0 0 0 0
## 1920.0 160 127 129 111 122 ... 40 22 0 0 0
## 1925.0 157 122 110 120 93 ... 53 44 53 34 29
## 1930.0 111 122 125 126 95 ... 67 58 62 67 49
## 1935.0 133 167 137 126 124 ... 71 85 116 116 49
## 1940.0 175 135 149 141 161 ... 134 105 127 116 110
## 1945.0 187 178 178 174 179 ... 148 146 160 193 161
## 1950.0 138 165 171 180 166 ... 194 151 208 224 174
## 1955.0 0 6 31 81 102 ... 185 172 262 304 192
## 1960.0 0 0 0 0 0 ... 184 190 249 274 209
## 1965.0 0 0 0 0 0 ... 191 163 189 239 186
## 1970.0 0 0 0 0 0 ... 171 192 228 219 174
## 1975.0 0 0 0 0 0 ... 188 181 233 226 215
## 1980.0 0 0 0 0 0 ... 186 198 254 253 226
## 1985.0 0 0 0 0 0 ... 171 149 218 267 212
## 1990.0 0 0 0 0 0 ... 58 113 139 226 196
## 1995.0 0 0 0 0 0 ... 0 0 31 99 137
## 2000.0 0 0 0 0 0 ... 0 0 0 0 22
##
## [25 rows x 32 columns]
The motivating question for this project was initially this: Do we get more conservative as we get older? That’s the sort of thing that seems to be common knowledge, with the line “If you aren’t a liberal when you’re young, you have no heart, but if you aren’t a middle-aged conservative, you have no head” often being quoted (and misattributed to Winston Churchill) by conservatives. But in 2014 The Upshot blog at the New York Times presented a theory of “formative events” shaping the political beliefs of generations, which remain stable over time. Further, it could be that people’s views actually don’t change that much, but are perceived as more conservative to newer generations which are increasingly liberal.
To test this I took the five-year birth cohort bins and plotted the mean of their answers to the “Political Views” question, which indicates the respodent’s self-evaluated place on a seven point scale traveling between “Very Liberal” (1), “Centrist” (4) and “Very Conservative” (7). These evaluations are fairly coherent and consistent in terms of their meaning.
Well, that seems pretty straightforward.
That individuals are self-reporting a greater rate of conservatism as the move further along in life likely means one of two things: One, people change their beliefs over time and actually do get more conservative, or two, somewhat less likely in my opinion, people as they get older perceive the world around them as shifting leftwards. That is, the same set of views that would have been called liberal in 1980 are conservative in 2010.
test of html formatting